//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(undefined / undefined);
write(undefined / null);
write(undefined / true);
write(undefined / false);
write(undefined / Boolean(true));
write(undefined / Boolean(false));
write(undefined / new Boolean(true));
write(undefined / new Boolean(false));
write(undefined / NaN);
write(undefined / +0);
write(undefined / -0);
write(undefined / 0);
write(undefined / 0.0);
write(undefined / -0.0);
write(undefined / +0.0);
write(undefined / 1);
write(undefined / 10);
write(undefined / 10.0);
write(undefined / 10.1);
write(undefined / -1);
write(undefined / -10);
write(undefined / -10.0);
write(undefined / -10.1);
write(undefined / Number.MAX_VALUE);
write(undefined / Number.MIN_VALUE);
write(undefined / Number.NaN);
write(undefined / Number.POSITIVE_INFINITY);
write(undefined / Number.NEGATIVE_INFINITY);
write(undefined / new Number(NaN));
write(undefined / new Number(+0));
write(undefined / new Number(-0));
write(undefined / new Number(0));
write(undefined / new Number(0.0));
write(undefined / new Number(-0.0));
write(undefined / new Number(+0.0));
write(undefined / new Number(1));
write(undefined / new Number(10));
write(undefined / new Number(10.0));
write(undefined / new Number(10.1));
write(undefined / new Number(-1));
write(undefined / new Number(-10));
write(undefined / new Number(-10.0));
write(undefined / new Number(-10.1));
write(undefined / new Number(Number.MAX_VALUE));
write(undefined / new Number(Number.MIN_VALUE));
write(undefined / new Number(Number.NaN));
write(undefined / new Number(Number.POSITIVE_INFINITY));
write(undefined / new Number(Number.NEGATIVE_INFINITY));
write(undefined / '');
write(undefined / 0xa);
write(undefined / 04);
write(undefined / 'hello');
write(undefined / 'hel' + 'lo');
write(undefined / String(''));
write(undefined / String('hello'));
write(undefined / String('h' + 'ello'));
write(undefined / new String(''));
write(undefined / new String('hello'));
write(undefined / new String('he' + 'llo'));
write(undefined / new Object());
write(undefined / new Object());
write(undefined / [1, 2, 3]);
write(undefined / [1 ,2 , 3]);
write(undefined / new Array(3));
write(undefined / Array(3));
write(undefined / new Array(1 ,2 ,3));
write(undefined / Array(1));
write(undefined / foo);
write(null / undefined);
write(null / null);
write(null / true);
write(null / false);
write(null / Boolean(true));
write(null / Boolean(false));
write(null / new Boolean(true));
write(null / new Boolean(false));
write(null / NaN);
write(null / +0);
write(null / -0);
write(null / 0);
write(null / 0.0);
write(null / -0.0);
write(null / +0.0);
write(null / 1);
write(null / 10);
write(null / 10.0);
write(null / 10.1);
write(null / -1);
write(null / -10);
write(null / -10.0);
write(null / -10.1);
write(null / Number.MAX_VALUE);
write(null / Number.MIN_VALUE);
write(null / Number.NaN);
write(null / Number.POSITIVE_INFINITY);
write(null / Number.NEGATIVE_INFINITY);
write(null / new Number(NaN));
write(null / new Number(+0));
write(null / new Number(-0));
write(null / new Number(0));
write(null / new Number(0.0));
write(null / new Number(-0.0));
write(null / new Number(+0.0));
write(null / new Number(1));
write(null / new Number(10));
write(null / new Number(10.0));
write(null / new Number(10.1));
write(null / new Number(-1));
write(null / new Number(-10));
write(null / new Number(-10.0));
write(null / new Number(-10.1));
write(null / new Number(Number.MAX_VALUE));
write(null / new Number(Number.MIN_VALUE));
write(null / new Number(Number.NaN));
write(null / new Number(Number.POSITIVE_INFINITY));
write(null / new Number(Number.NEGATIVE_INFINITY));
write(null / '');
write(null / 0xa);
write(null / 04);
write(null / 'hello');
write(null / 'hel' + 'lo');
write(null / String(''));
write(null / String('hello'));
write(null / String('h' + 'ello'));
write(null / new String(''));
write(null / new String('hello'));
write(null / new String('he' + 'llo'));
write(null / new Object());
write(null / new Object());
write(null / [1, 2, 3]);
write(null / [1 ,2 , 3]);
write(null / new Array(3));
write(null / Array(3));
write(null / new Array(1 ,2 ,3));
write(null / Array(1));
write(null / foo);
write(true / undefined);
write(true / null);
write(true / true);
write(true / false);
write(true / Boolean(true));
write(true / Boolean(false));
write(true / new Boolean(true));
write(true / new Boolean(false));
write(true / NaN);
write(true / +0);
write(true / -0);
write(true / 0);
write(true / 0.0);
write(true / -0.0);
write(true / +0.0);
write(true / 1);
write(true / 10);
write(true / 10.0);
write(true / 10.1);
write(true / -1);
write(true / -10);
write(true / -10.0);
write(true / -10.1);
write(true / Number.MAX_VALUE);
write(true / Number.MIN_VALUE);
write(true / Number.NaN);
write(true / Number.POSITIVE_INFINITY);
write(true / Number.NEGATIVE_INFINITY);
write(true / new Number(NaN));
write(true / new Number(+0));
write(true / new Number(-0));
write(true / new Number(0));
write(true / new Number(0.0));
write(true / new Number(-0.0));
write(true / new Number(+0.0));
write(true / new Number(1));
write(true / new Number(10));
write(true / new Number(10.0));
write(true / new Number(10.1));
write(true / new Number(-1));
write(true / new Number(-10));
write(true / new Number(-10.0));
write(true / new Number(-10.1));
write(true / new Number(Number.MAX_VALUE));
write(true / new Number(Number.MIN_VALUE));
write(true / new Number(Number.NaN));
write(true / new Number(Number.POSITIVE_INFINITY));
write(true / new Number(Number.NEGATIVE_INFINITY));
write(true / '');
write(true / 0xa);
write(true / 04);
write(true / 'hello');
write(true / 'hel' + 'lo');
write(true / String(''));
write(true / String('hello'));
write(true / String('h' + 'ello'));
write(true / new String(''));
write(true / new String('hello'));
write(true / new String('he' + 'llo'));
write(true / new Object());
write(true / new Object());
write(true / [1, 2, 3]);
write(true / [1 ,2 , 3]);
write(true / new Array(3));
write(true / Array(3));
write(true / new Array(1 ,2 ,3));
write(true / Array(1));
write(true / foo);
write(false / undefined);
write(false / null);
write(false / true);
write(false / false);
write(false / Boolean(true));
write(false / Boolean(false));
write(false / new Boolean(true));
write(false / new Boolean(false));
write(false / NaN);
write(false / +0);
write(false / -0);
write(false / 0);
write(false / 0.0);
write(false / -0.0);
write(false / +0.0);
write(false / 1);
write(false / 10);
write(false / 10.0);
write(false / 10.1);
write(false / -1);
write(false / -10);
write(false / -10.0);
write(false / -10.1);
write(false / Number.MAX_VALUE);
write(false / Number.MIN_VALUE);
write(false / Number.NaN);
write(false / Number.POSITIVE_INFINITY);
write(false / Number.NEGATIVE_INFINITY);
write(false / new Number(NaN));
write(false / new Number(+0));
write(false / new Number(-0));
write(false / new Number(0));
write(false / new Number(0.0));
write(false / new Number(-0.0));
write(false / new Number(+0.0));
write(false / new Number(1));
write(false / new Number(10));
write(false / new Number(10.0));
write(false / new Number(10.1));
write(false / new Number(-1));
write(false / new Number(-10));
write(false / new Number(-10.0));
write(false / new Number(-10.1));
write(false / new Number(Number.MAX_VALUE));
write(false / new Number(Number.MIN_VALUE));
write(false / new Number(Number.NaN));
write(false / new Number(Number.POSITIVE_INFINITY));
write(false / new Number(Number.NEGATIVE_INFINITY));
write(false / '');
write(false / 0xa);
write(false / 04);
write(false / 'hello');
write(false / 'hel' + 'lo');
write(false / String(''));
write(false / String('hello'));
write(false / String('h' + 'ello'));
write(false / new String(''));
write(false / new String('hello'));
write(false / new String('he' + 'llo'));
write(false / new Object());
write(false / new Object());
write(false / [1, 2, 3]);
write(false / [1 ,2 , 3]);
write(false / new Array(3));
write(false / Array(3));
write(false / new Array(1 ,2 ,3));
write(false / Array(1));
write(false / foo);
write(Boolean(true) / undefined);
write(Boolean(true) / null);
write(Boolean(true) / true);
write(Boolean(true) / false);
write(Boolean(true) / Boolean(true));
write(Boolean(true) / Boolean(false));
write(Boolean(true) / new Boolean(true));
write(Boolean(true) / new Boolean(false));
write(Boolean(true) / NaN);
write(Boolean(true) / +0);
write(Boolean(true) / -0);
write(Boolean(true) / 0);
write(Boolean(true) / 0.0);
write(Boolean(true) / -0.0);
write(Boolean(true) / +0.0);
write(Boolean(true) / 1);
write(Boolean(true) / 10);
write(Boolean(true) / 10.0);
write(Boolean(true) / 10.1);
write(Boolean(true) / -1);
write(Boolean(true) / -10);
write(Boolean(true) / -10.0);
write(Boolean(true) / -10.1);
write(Boolean(true) / Number.MAX_VALUE);
write(Boolean(true) / Number.MIN_VALUE);
write(Boolean(true) / Number.NaN);
write(Boolean(true) / Number.POSITIVE_INFINITY);
write(Boolean(true) / Number.NEGATIVE_INFINITY);
write(Boolean(true) / new Number(NaN));
write(Boolean(true) / new Number(+0));
write(Boolean(true) / new Number(-0));
write(Boolean(true) / new Number(0));
write(Boolean(true) / new Number(0.0));
write(Boolean(true) / new Number(-0.0));
write(Boolean(true) / new Number(+0.0));
write(Boolean(true) / new Number(1));
write(Boolean(true) / new Number(10));
write(Boolean(true) / new Number(10.0));
write(Boolean(true) / new Number(10.1));
write(Boolean(true) / new Number(-1));
write(Boolean(true) / new Number(-10));
write(Boolean(true) / new Number(-10.0));
write(Boolean(true) / new Number(-10.1));
write(Boolean(true) / new Number(Number.MAX_VALUE));
write(Boolean(true) / new Number(Number.MIN_VALUE));
write(Boolean(true) / new Number(Number.NaN));
write(Boolean(true) / new Number(Number.POSITIVE_INFINITY));
write(Boolean(true) / new Number(Number.NEGATIVE_INFINITY));
write(Boolean(true) / '');
write(Boolean(true) / 0xa);
write(Boolean(true) / 04);
write(Boolean(true) / 'hello');
write(Boolean(true) / 'hel' + 'lo');
write(Boolean(true) / String(''));
write(Boolean(true) / String('hello'));
write(Boolean(true) / String('h' + 'ello'));
write(Boolean(true) / new String(''));
write(Boolean(true) / new String('hello'));
write(Boolean(true) / new String('he' + 'llo'));
write(Boolean(true) / new Object());
write(Boolean(true) / new Object());
write(Boolean(true) / [1, 2, 3]);
write(Boolean(true) / [1 ,2 , 3]);
write(Boolean(true) / new Array(3));
write(Boolean(true) / Array(3));
write(Boolean(true) / new Array(1 ,2 ,3));
write(Boolean(true) / Array(1));
write(Boolean(true) / foo);
write(Boolean(false) / undefined);
write(Boolean(false) / null);
write(Boolean(false) / true);
write(Boolean(false) / false);
write(Boolean(false) / Boolean(true));
write(Boolean(false) / Boolean(false));
write(Boolean(false) / new Boolean(true));
write(Boolean(false) / new Boolean(false));
write(Boolean(false) / NaN);
write(Boolean(false) / +0);
write(Boolean(false) / -0);
write(Boolean(false) / 0);
write(Boolean(false) / 0.0);
write(Boolean(false) / -0.0);
write(Boolean(false) / +0.0);
write(Boolean(false) / 1);
write(Boolean(false) / 10);
write(Boolean(false) / 10.0);
write(Boolean(false) / 10.1);
write(Boolean(false) / -1);
write(Boolean(false) / -10);
write(Boolean(false) / -10.0);
write(Boolean(false) / -10.1);
write(Boolean(false) / Number.MAX_VALUE);
write(Boolean(false) / Number.MIN_VALUE);
write(Boolean(false) / Number.NaN);
write(Boolean(false) / Number.POSITIVE_INFINITY);
write(Boolean(false) / Number.NEGATIVE_INFINITY);
write(Boolean(false) / new Number(NaN));
write(Boolean(false) / new Number(+0));
write(Boolean(false) / new Number(-0));
write(Boolean(false) / new Number(0));
write(Boolean(false) / new Number(0.0));
write(Boolean(false) / new Number(-0.0));
write(Boolean(false) / new Number(+0.0));
write(Boolean(false) / new Number(1));
write(Boolean(false) / new Number(10));
write(Boolean(false) / new Number(10.0));
write(Boolean(false) / new Number(10.1));
write(Boolean(false) / new Number(-1));
write(Boolean(false) / new Number(-10));
write(Boolean(false) / new Number(-10.0));
write(Boolean(false) / new Number(-10.1));
write(Boolean(false) / new Number(Number.MAX_VALUE));
write(Boolean(false) / new Number(Number.MIN_VALUE));
write(Boolean(false) / new Number(Number.NaN));
write(Boolean(false) / new Number(Number.POSITIVE_INFINITY));
write(Boolean(false) / new Number(Number.NEGATIVE_INFINITY));
write(Boolean(false) / '');
write(Boolean(false) / 0xa);
write(Boolean(false) / 04);
write(Boolean(false) / 'hello');
write(Boolean(false) / 'hel' + 'lo');
write(Boolean(false) / String(''));
write(Boolean(false) / String('hello'));
write(Boolean(false) / String('h' + 'ello'));
write(Boolean(false) / new String(''));
write(Boolean(false) / new String('hello'));
write(Boolean(false) / new String('he' + 'llo'));
write(Boolean(false) / new Object());
write(Boolean(false) / new Object());
write(Boolean(false) / [1, 2, 3]);
write(Boolean(false) / [1 ,2 , 3]);
write(Boolean(false) / new Array(3));
write(Boolean(false) / Array(3));
write(Boolean(false) / new Array(1 ,2 ,3));
write(Boolean(false) / Array(1));
write(Boolean(false) / foo);
write(new Boolean(true) / undefined);
write(new Boolean(true) / null);
write(new Boolean(true) / true);
write(new Boolean(true) / false);
write(new Boolean(true) / Boolean(true));
write(new Boolean(true) / Boolean(false));
write(new Boolean(true) / new Boolean(true));
write(new Boolean(true) / new Boolean(false));
write(new Boolean(true) / NaN);
write(new Boolean(true) / +0);
write(new Boolean(true) / -0);
write(new Boolean(true) / 0);
write(new Boolean(true) / 0.0);
write(new Boolean(true) / -0.0);
write(new Boolean(true) / +0.0);
write(new Boolean(true) / 1);
write(new Boolean(true) / 10);
write(new Boolean(true) / 10.0);
write(new Boolean(true) / 10.1);
write(new Boolean(true) / -1);
write(new Boolean(true) / -10);
write(new Boolean(true) / -10.0);
write(new Boolean(true) / -10.1);
write(new Boolean(true) / Number.MAX_VALUE);
write(new Boolean(true) / Number.MIN_VALUE);
write(new Boolean(true) / Number.NaN);
write(new Boolean(true) / Number.POSITIVE_INFINITY);
write(new Boolean(true) / Number.NEGATIVE_INFINITY);
write(new Boolean(true) / new Number(NaN));
write(new Boolean(true) / new Number(+0));
write(new Boolean(true) / new Number(-0));
write(new Boolean(true) / new Number(0));
write(new Boolean(true) / new Number(0.0));
write(new Boolean(true) / new Number(-0.0));
write(new Boolean(true) / new Number(+0.0));
write(new Boolean(true) / new Number(1));
write(new Boolean(true) / new Number(10));
write(new Boolean(true) / new Number(10.0));
write(new Boolean(true) / new Number(10.1));
write(new Boolean(true) / new Number(-1));
write(new Boolean(true) / new Number(-10));
write(new Boolean(true) / new Number(-10.0));
write(new Boolean(true) / new Number(-10.1));
write(new Boolean(true) / new Number(Number.MAX_VALUE));
write(new Boolean(true) / new Number(Number.MIN_VALUE));
write(new Boolean(true) / new Number(Number.NaN));
write(new Boolean(true) / new Number(Number.POSITIVE_INFINITY));
write(new Boolean(true) / new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(true) / '');
write(new Boolean(true) / 0xa);
write(new Boolean(true) / 04);
write(new Boolean(true) / 'hello');
write(new Boolean(true) / 'hel' + 'lo');
write(new Boolean(true) / String(''));
write(new Boolean(true) / String('hello'));
write(new Boolean(true) / String('h' + 'ello'));
write(new Boolean(true) / new String(''));
write(new Boolean(true) / new String('hello'));
write(new Boolean(true) / new String('he' + 'llo'));
write(new Boolean(true) / new Object());
write(new Boolean(true) / new Object());
write(new Boolean(true) / [1, 2, 3]);
write(new Boolean(true) / [1 ,2 , 3]);
write(new Boolean(true) / new Array(3));
write(new Boolean(true) / Array(3));
write(new Boolean(true) / new Array(1 ,2 ,3));
write(new Boolean(true) / Array(1));
write(new Boolean(true) / foo);
write(new Boolean(false) / undefined);
write(new Boolean(false) / null);
write(new Boolean(false) / true);
write(new Boolean(false) / false);
write(new Boolean(false) / Boolean(true));
write(new Boolean(false) / Boolean(false));
write(new Boolean(false) / new Boolean(true));
write(new Boolean(false) / new Boolean(false));
write(new Boolean(false) / NaN);
write(new Boolean(false) / +0);
write(new Boolean(false) / -0);
write(new Boolean(false) / 0);
write(new Boolean(false) / 0.0);
write(new Boolean(false) / -0.0);
write(new Boolean(false) / +0.0);
write(new Boolean(false) / 1);
write(new Boolean(false) / 10);
write(new Boolean(false) / 10.0);
write(new Boolean(false) / 10.1);
write(new Boolean(false) / -1);
write(new Boolean(false) / -10);
write(new Boolean(false) / -10.0);
write(new Boolean(false) / -10.1);
write(new Boolean(false) / Number.MAX_VALUE);
write(new Boolean(false) / Number.MIN_VALUE);
write(new Boolean(false) / Number.NaN);
write(new Boolean(false) / Number.POSITIVE_INFINITY);
write(new Boolean(false) / Number.NEGATIVE_INFINITY);
write(new Boolean(false) / new Number(NaN));
write(new Boolean(false) / new Number(+0));
write(new Boolean(false) / new Number(-0));
write(new Boolean(false) / new Number(0));
write(new Boolean(false) / new Number(0.0));
write(new Boolean(false) / new Number(-0.0));
write(new Boolean(false) / new Number(+0.0));
write(new Boolean(false) / new Number(1));
write(new Boolean(false) / new Number(10));
write(new Boolean(false) / new Number(10.0));
write(new Boolean(false) / new Number(10.1));
write(new Boolean(false) / new Number(-1));
write(new Boolean(false) / new Number(-10));
write(new Boolean(false) / new Number(-10.0));
write(new Boolean(false) / new Number(-10.1));
write(new Boolean(false) / new Number(Number.MAX_VALUE));
write(new Boolean(false) / new Number(Number.MIN_VALUE));
write(new Boolean(false) / new Number(Number.NaN));
write(new Boolean(false) / new Number(Number.POSITIVE_INFINITY));
write(new Boolean(false) / new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(false) / '');
write(new Boolean(false) / 0xa);
write(new Boolean(false) / 04);
write(new Boolean(false) / 'hello');
write(new Boolean(false) / 'hel' + 'lo');
write(new Boolean(false) / String(''));
write(new Boolean(false) / String('hello'));
write(new Boolean(false) / String('h' + 'ello'));
write(new Boolean(false) / new String(''));
write(new Boolean(false) / new String('hello'));
write(new Boolean(false) / new String('he' + 'llo'));
write(new Boolean(false) / new Object());
write(new Boolean(false) / new Object());
write(new Boolean(false) / [1, 2, 3]);
write(new Boolean(false) / [1 ,2 , 3]);
write(new Boolean(false) / new Array(3));
write(new Boolean(false) / Array(3));
write(new Boolean(false) / new Array(1 ,2 ,3));
write(new Boolean(false) / Array(1));
write(new Boolean(false) / foo);
write(NaN / undefined);
write(NaN / null);
write(NaN / true);
write(NaN / false);
write(NaN / Boolean(true));
write(NaN / Boolean(false));
write(NaN / new Boolean(true));
write(NaN / new Boolean(false));
write(NaN / NaN);
write(NaN / +0);
write(NaN / -0);
write(NaN / 0);
write(NaN / 0.0);
write(NaN / -0.0);
write(NaN / +0.0);
write(NaN / 1);
write(NaN / 10);
write(NaN / 10.0);
write(NaN / 10.1);
write(NaN / -1);
write(NaN / -10);
write(NaN / -10.0);
write(NaN / -10.1);
write(NaN / Number.MAX_VALUE);
write(NaN / Number.MIN_VALUE);
write(NaN / Number.NaN);
write(NaN / Number.POSITIVE_INFINITY);
write(NaN / Number.NEGATIVE_INFINITY);
write(NaN / new Number(NaN));
write(NaN / new Number(+0));
write(NaN / new Number(-0));
write(NaN / new Number(0));
write(NaN / new Number(0.0));
write(NaN / new Number(-0.0));
write(NaN / new Number(+0.0));
write(NaN / new Number(1));
write(NaN / new Number(10));
write(NaN / new Number(10.0));
write(NaN / new Number(10.1));
write(NaN / new Number(-1));
write(NaN / new Number(-10));
write(NaN / new Number(-10.0));
write(NaN / new Number(-10.1));
write(NaN / new Number(Number.MAX_VALUE));
write(NaN / new Number(Number.MIN_VALUE));
write(NaN / new Number(Number.NaN));
write(NaN / new Number(Number.POSITIVE_INFINITY));
write(NaN / new Number(Number.NEGATIVE_INFINITY));
write(NaN / '');
write(NaN / 0xa);
write(NaN / 04);
write(NaN / 'hello');
write(NaN / 'hel' + 'lo');
write(NaN / String(''));
write(NaN / String('hello'));
write(NaN / String('h' + 'ello'));
write(NaN / new String(''));
write(NaN / new String('hello'));
write(NaN / new String('he' + 'llo'));
write(NaN / new Object());
write(NaN / new Object());
write(NaN / [1, 2, 3]);
write(NaN / [1 ,2 , 3]);
write(NaN / new Array(3));
write(NaN / Array(3));
write(NaN / new Array(1 ,2 ,3));
write(NaN / Array(1));
write(NaN / foo);
write(+0 / undefined);
write(+0 / null);
write(+0 / true);
write(+0 / false);
write(+0 / Boolean(true));
write(+0 / Boolean(false));
write(+0 / new Boolean(true));
write(+0 / new Boolean(false));
write(+0 / NaN);
write(+0 / +0);
write(+0 / -0);
write(+0 / 0);
write(+0 / 0.0);
write(+0 / -0.0);
write(+0 / +0.0);
write(+0 / 1);
write(+0 / 10);
write(+0 / 10.0);
write(+0 / 10.1);
write(+0 / -1);
write(+0 / -10);
write(+0 / -10.0);
write(+0 / -10.1);
write(+0 / Number.MAX_VALUE);
write(+0 / Number.MIN_VALUE);
write(+0 / Number.NaN);
write(+0 / Number.POSITIVE_INFINITY);
write(+0 / Number.NEGATIVE_INFINITY);
write(+0 / new Number(NaN));
write(+0 / new Number(+0));
write(+0 / new Number(-0));
write(+0 / new Number(0));
write(+0 / new Number(0.0));
write(+0 / new Number(-0.0));
write(+0 / new Number(+0.0));
write(+0 / new Number(1));
write(+0 / new Number(10));
write(+0 / new Number(10.0));
write(+0 / new Number(10.1));
write(+0 / new Number(-1));
write(+0 / new Number(-10));
write(+0 / new Number(-10.0));
write(+0 / new Number(-10.1));
write(+0 / new Number(Number.MAX_VALUE));
write(+0 / new Number(Number.MIN_VALUE));
write(+0 / new Number(Number.NaN));
write(+0 / new Number(Number.POSITIVE_INFINITY));
write(+0 / new Number(Number.NEGATIVE_INFINITY));
write(+0 / '');
write(+0 / 0xa);
write(+0 / 04);
write(+0 / 'hello');
write(+0 / 'hel' + 'lo');
write(+0 / String(''));
write(+0 / String('hello'));
write(+0 / String('h' + 'ello'));
write(+0 / new String(''));
write(+0 / new String('hello'));
write(+0 / new String('he' + 'llo'));
write(+0 / new Object());
write(+0 / new Object());
write(+0 / [1, 2, 3]);
write(+0 / [1 ,2 , 3]);
write(+0 / new Array(3));
write(+0 / Array(3));
write(+0 / new Array(1 ,2 ,3));
write(+0 / Array(1));
write(+0 / foo);
write(-0 / undefined);
write(-0 / null);
write(-0 / true);
write(-0 / false);
write(-0 / Boolean(true));
write(-0 / Boolean(false));
write(-0 / new Boolean(true));
write(-0 / new Boolean(false));
write(-0 / NaN);
write(-0 / +0);
write(-0 / -0);
write(-0 / 0);
write(-0 / 0.0);
write(-0 / -0.0);
write(-0 / +0.0);
write(-0 / 1);
write(-0 / 10);
write(-0 / 10.0);
write(-0 / 10.1);
write(-0 / -1);
write(-0 / -10);
write(-0 / -10.0);
write(-0 / -10.1);
write(-0 / Number.MAX_VALUE);
write(-0 / Number.MIN_VALUE);
write(-0 / Number.NaN);
write(-0 / Number.POSITIVE_INFINITY);
write(-0 / Number.NEGATIVE_INFINITY);
write(-0 / new Number(NaN));
write(-0 / new Number(+0));
write(-0 / new Number(-0));
write(-0 / new Number(0));
write(-0 / new Number(0.0));
write(-0 / new Number(-0.0));
write(-0 / new Number(+0.0));
write(-0 / new Number(1));
write(-0 / new Number(10));
write(-0 / new Number(10.0));
write(-0 / new Number(10.1));
write(-0 / new Number(-1));
write(-0 / new Number(-10));
write(-0 / new Number(-10.0));
write(-0 / new Number(-10.1));
write(-0 / new Number(Number.MAX_VALUE));
write(-0 / new Number(Number.MIN_VALUE));
write(-0 / new Number(Number.NaN));
write(-0 / new Number(Number.POSITIVE_INFINITY));
write(-0 / new Number(Number.NEGATIVE_INFINITY));
write(-0 / '');
write(-0 / 0xa);
write(-0 / 04);
write(-0 / 'hello');
write(-0 / 'hel' + 'lo');
write(-0 / String(''));
write(-0 / String('hello'));
write(-0 / String('h' + 'ello'));
write(-0 / new String(''));
write(-0 / new String('hello'));
write(-0 / new String('he' + 'llo'));
write(-0 / new Object());
write(-0 / new Object());
write(-0 / [1, 2, 3]);
write(-0 / [1 ,2 , 3]);
write(-0 / new Array(3));
write(-0 / Array(3));
write(-0 / new Array(1 ,2 ,3));
write(-0 / Array(1));
write(-0 / foo);
write(0 / undefined);
write(0 / null);
write(0 / true);
write(0 / false);
write(0 / Boolean(true));
write(0 / Boolean(false));
write(0 / new Boolean(true));
write(0 / new Boolean(false));
write(0 / NaN);
write(0 / +0);
write(0 / -0);
write(0 / 0);
write(0 / 0.0);
write(0 / -0.0);
write(0 / +0.0);
write(0 / 1);
write(0 / 10);
write(0 / 10.0);
write(0 / 10.1);
write(0 / -1);
write(0 / -10);
write(0 / -10.0);
write(0 / -10.1);
write(0 / Number.MAX_VALUE);
write(0 / Number.MIN_VALUE);
write(0 / Number.NaN);
write(0 / Number.POSITIVE_INFINITY);
write(0 / Number.NEGATIVE_INFINITY);
write(0 / new Number(NaN));
write(0 / new Number(+0));
write(0 / new Number(-0));
write(0 / new Number(0));
write(0 / new Number(0.0));
write(0 / new Number(-0.0));
write(0 / new Number(+0.0));
write(0 / new Number(1));
write(0 / new Number(10));
write(0 / new Number(10.0));
write(0 / new Number(10.1));
write(0 / new Number(-1));
write(0 / new Number(-10));
write(0 / new Number(-10.0));
write(0 / new Number(-10.1));
write(0 / new Number(Number.MAX_VALUE));
write(0 / new Number(Number.MIN_VALUE));
write(0 / new Number(Number.NaN));
write(0 / new Number(Number.POSITIVE_INFINITY));
write(0 / new Number(Number.NEGATIVE_INFINITY));
write(0 / '');
write(0 / 0xa);
write(0 / 04);
write(0 / 'hello');
write(0 / 'hel' + 'lo');
write(0 / String(''));
write(0 / String('hello'));
write(0 / String('h' + 'ello'));
write(0 / new String(''));
write(0 / new String('hello'));
write(0 / new String('he' + 'llo'));
write(0 / new Object());
write(0 / new Object());
write(0 / [1, 2, 3]);
write(0 / [1 ,2 , 3]);
write(0 / new Array(3));
write(0 / Array(3));
write(0 / new Array(1 ,2 ,3));
write(0 / Array(1));
write(0 / foo);
write(0.0 / undefined);
write(0.0 / null);
write(0.0 / true);
write(0.0 / false);
write(0.0 / Boolean(true));
write(0.0 / Boolean(false));
write(0.0 / new Boolean(true));
write(0.0 / new Boolean(false));
write(0.0 / NaN);
write(0.0 / +0);
write(0.0 / -0);
write(0.0 / 0);
write(0.0 / 0.0);
write(0.0 / -0.0);
write(0.0 / +0.0);
write(0.0 / 1);
write(0.0 / 10);
write(0.0 / 10.0);
write(0.0 / 10.1);
write(0.0 / -1);
write(0.0 / -10);
write(0.0 / -10.0);
write(0.0 / -10.1);
write(0.0 / Number.MAX_VALUE);
write(0.0 / Number.MIN_VALUE);
write(0.0 / Number.NaN);
write(0.0 / Number.POSITIVE_INFINITY);
write(0.0 / Number.NEGATIVE_INFINITY);
write(0.0 / new Number(NaN));
write(0.0 / new Number(+0));
write(0.0 / new Number(-0));
write(0.0 / new Number(0));
write(0.0 / new Number(0.0));
write(0.0 / new Number(-0.0));
write(0.0 / new Number(+0.0));
write(0.0 / new Number(1));
write(0.0 / new Number(10));
write(0.0 / new Number(10.0));
write(0.0 / new Number(10.1));
write(0.0 / new Number(-1));
write(0.0 / new Number(-10));
write(0.0 / new Number(-10.0));
write(0.0 / new Number(-10.1));
write(0.0 / new Number(Number.MAX_VALUE));
write(0.0 / new Number(Number.MIN_VALUE));
write(0.0 / new Number(Number.NaN));
write(0.0 / new Number(Number.POSITIVE_INFINITY));
write(0.0 / new Number(Number.NEGATIVE_INFINITY));
write(0.0 / '');
write(0.0 / 0xa);
write(0.0 / 04);
write(0.0 / 'hello');
write(0.0 / 'hel' + 'lo');
write(0.0 / String(''));
write(0.0 / String('hello'));
write(0.0 / String('h' + 'ello'));
write(0.0 / new String(''));
write(0.0 / new String('hello'));
write(0.0 / new String('he' + 'llo'));
write(0.0 / new Object());
write(0.0 / new Object());
write(0.0 / [1, 2, 3]);
write(0.0 / [1 ,2 , 3]);
write(0.0 / new Array(3));
write(0.0 / Array(3));
write(0.0 / new Array(1 ,2 ,3));
write(0.0 / Array(1));
write(0.0 / foo);
write(-0.0 / undefined);
write(-0.0 / null);
write(-0.0 / true);
write(-0.0 / false);
write(-0.0 / Boolean(true));
write(-0.0 / Boolean(false));
write(-0.0 / new Boolean(true));
write(-0.0 / new Boolean(false));
write(-0.0 / NaN);
write(-0.0 / +0);
write(-0.0 / -0);
write(-0.0 / 0);
write(-0.0 / 0.0);
write(-0.0 / -0.0);
write(-0.0 / +0.0);
write(-0.0 / 1);
write(-0.0 / 10);
write(-0.0 / 10.0);
write(-0.0 / 10.1);
write(-0.0 / -1);
write(-0.0 / -10);
write(-0.0 / -10.0);
write(-0.0 / -10.1);
write(-0.0 / Number.MAX_VALUE);
write(-0.0 / Number.MIN_VALUE);
write(-0.0 / Number.NaN);
write(-0.0 / Number.POSITIVE_INFINITY);
write(-0.0 / Number.NEGATIVE_INFINITY);
write(-0.0 / new Number(NaN));
write(-0.0 / new Number(+0));
write(-0.0 / new Number(-0));
write(-0.0 / new Number(0));
write(-0.0 / new Number(0.0));
write(-0.0 / new Number(-0.0));
write(-0.0 / new Number(+0.0));
write(-0.0 / new Number(1));
write(-0.0 / new Number(10));
write(-0.0 / new Number(10.0));
write(-0.0 / new Number(10.1));
write(-0.0 / new Number(-1));
write(-0.0 / new Number(-10));
write(-0.0 / new Number(-10.0));
write(-0.0 / new Number(-10.1));
write(-0.0 / new Number(Number.MAX_VALUE));
write(-0.0 / new Number(Number.MIN_VALUE));
write(-0.0 / new Number(Number.NaN));
write(-0.0 / new Number(Number.POSITIVE_INFINITY));
write(-0.0 / new Number(Number.NEGATIVE_INFINITY));
write(-0.0 / '');
write(-0.0 / 0xa);
write(-0.0 / 04);
write(-0.0 / 'hello');
write(-0.0 / 'hel' + 'lo');
write(-0.0 / String(''));
write(-0.0 / String('hello'));
write(-0.0 / String('h' + 'ello'));
write(-0.0 / new String(''));
write(-0.0 / new String('hello'));
write(-0.0 / new String('he' + 'llo'));
write(-0.0 / new Object());
write(-0.0 / new Object());
write(-0.0 / [1, 2, 3]);
write(-0.0 / [1 ,2 , 3]);
write(-0.0 / new Array(3));
write(-0.0 / Array(3));
write(-0.0 / new Array(1 ,2 ,3));
write(-0.0 / Array(1));
write(-0.0 / foo);
write(+0.0 / undefined);
write(+0.0 / null);
write(+0.0 / true);
write(+0.0 / false);
write(+0.0 / Boolean(true));
write(+0.0 / Boolean(false));
write(+0.0 / new Boolean(true));
write(+0.0 / new Boolean(false));
write(+0.0 / NaN);
write(+0.0 / +0);
write(+0.0 / -0);
write(+0.0 / 0);
write(+0.0 / 0.0);
write(+0.0 / -0.0);
write(+0.0 / +0.0);
write(+0.0 / 1);
write(+0.0 / 10);
write(+0.0 / 10.0);
write(+0.0 / 10.1);
write(+0.0 / -1);
write(+0.0 / -10);
write(+0.0 / -10.0);
write(+0.0 / -10.1);
write(+0.0 / Number.MAX_VALUE);
write(+0.0 / Number.MIN_VALUE);
write(+0.0 / Number.NaN);
write(+0.0 / Number.POSITIVE_INFINITY);
write(+0.0 / Number.NEGATIVE_INFINITY);
write(+0.0 / new Number(NaN));
write(+0.0 / new Number(+0));
write(+0.0 / new Number(-0));
write(+0.0 / new Number(0));
write(+0.0 / new Number(0.0));
write(+0.0 / new Number(-0.0));
write(+0.0 / new Number(+0.0));
write(+0.0 / new Number(1));
write(+0.0 / new Number(10));
write(+0.0 / new Number(10.0));
write(+0.0 / new Number(10.1));
write(+0.0 / new Number(-1));
write(+0.0 / new Number(-10));
write(+0.0 / new Number(-10.0));
write(+0.0 / new Number(-10.1));
write(+0.0 / new Number(Number.MAX_VALUE));
write(+0.0 / new Number(Number.MIN_VALUE));
write(+0.0 / new Number(Number.NaN));
write(+0.0 / new Number(Number.POSITIVE_INFINITY));
write(+0.0 / new Number(Number.NEGATIVE_INFINITY));
